package com.mjsoftking.palettelib.list;

import com.mjsoftking.palettelib.bean.PaletteDrawConfig;

import java.util.ArrayList;

/**
 * 用途：
 * <p>
 * 作者：MJSoftKing
 */
public class PaletteDrawList extends ArrayList<PaletteDrawConfig> {

    /**
     * 获取最后一个线段对象
     */
    public PaletteDrawConfig getLastLine() {
        if (size() > 0) {
            return get(size() - 1);
        }
        return null;
    }

    /**
     * 检查最后一个线段是都是非线段
     * <p>
     * 是（多个点的坐标都是一样的或者单个点）：移除
     * 否：保留
     *
     * @return false: 未移出， true: 移出
     */
    public boolean removeLastNotLine() {
        PaletteDrawConfig line = getLastLine();
        if (null == line) return false;

        for (int i = 1; i < line.points.size(); ++i) {
            if (!line.points.get(0).equals(line.points.get(i))) {
                return false;
            }
        }
        remove(line);
        line.points.clear();
        return true;
    }

    /**
     * 撤销上一次绘制
     */
    public void revocation() {
        PaletteDrawConfig line = getLastLine();
        if (null == line) return;

        remove(line);
        line.points.clear();
    }
}
